#pragma once

class UserInterface
{
public:
    UserInterface(GUISystem& guiSystem);
    virtual ~UserInterface();

    void Hide();
    void Show();

    virtual void Destroy(ZeEngine::GameEngine& gameEngine);

protected:
    void AddControl(std::shared_ptr<ZeEngine::GUIObject> pObject);
    void RemoveControl(std::shared_ptr<ZeEngine::GUIObject> pObject);

private:
    std::vector < std::shared_ptr<ZeEngine::GUIObject> > m_guiObjects;

    GUISystem& m_guiSystem;
};

